import type {Router} from "vue-router";

// // 全局前置守卫，路由跳转前触发
// router.beforeEach((to: RouteLocationNormalized, _: RouteLocationNormalized, next: NavigationGuardNext) => {
//   window.$loadingBar.start();
//   if (to.meta.title) {
//     document.title = to.meta.title as string;
//   }
//   // // 如果当前页面路由路径为/login（登录页面）
//   // if (to.path == "/login") {
//   //     // 则执行next()方法 跳转到下一个页面（自己设置）
//   //     next();
//   // } else {
//   //     const { token } = useUserSettingStore();
//   //     if (token) {
//   //         next();
//   //     } else {
//   //         window.$message.warning("请先登录");
//   //         next("login");
//   //     }
//   // }
//   next();
// });
//
// // 全局后置守卫，路由跳转完成后触发
// router.afterEach(_ => {
//   window.$loadingBar.finish();
// });

/**
 * 路由守卫函数
 * @param router - 路由实例
 */
export function createRouterGuard(router: Router) {
  // 全局前置守卫，路由跳转前触发
  router.beforeEach(async (to, _, next) => {
    // 开始 loadingBar
    window.$loadingBar?.start();
    if (to.meta.title) {
      document.title = to.meta.title as string;
    }
    next();
  });

  // 全局后置守卫，路由跳转完成后触发
  router.afterEach(_ => {
    // 结束 loadingBar
    window.$loadingBar?.finish();
  });
}
